<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--元素的显示方式
属性：display
值：
none 隐藏、
block 块级、
inline 内联、
inline-block 内联-块级
-->

<!--隐藏-->
<style>
    div.d{
        display:none;
    }
</style>

<div>可见的div1</div>
<div class="d">隐藏的div2,使用display:none隐藏</div>
<div>可见的div3</div>

<!--块级-->
<!--display:block; 表示块级元素
块级元素会自动在前面和后面加上换行，并且在其上的width和height也能够生效

div默认是块级元素
span默认是内联元素(不会有换行,width和height也不会生效)-->
<style>
    .d1,.s{
        width: 100px;
        height: 100px;
        border:1px gray solid;
        margin: 10px;
    }
    #s1{display: block;}
</style>

<div class="d1">普通的div块</div>
<span class="s">这是普通的span</span> <span class="s">这是普通的span</span> <span class="s">这是普通的span</span>
<span class="s" id="s1">这是被改造为块级元素的span</span>

<!--内联-->
<!--display:inline; 表示内联元素
内联元素前后没有换行，并且在其上的width和height也无效。 其大小由其中的内容决定

div默认是块级元素
span默认是内联元素-->
<style>
    .d2,.s2{
        border: 1px solid lightgray;
        margin:10px;
        width:200px;
        height:100px;
    }

    #s3{
        display:inline;
    }
</style>

<span class="s2">这是普通span</span> <span class="s2">这是普通span</span> <span class="s2">这是普通span</span>
<div class="d2" id="s3">这是div，被改造成了内联元素</div>
<br>

<!--内联-块级-->
<!--内联是不换行，但是不能指定大小
块级时能指定大小，但是会换行

有时候，需要元素处于同一行，同时还能指定大小，
这个时候，就需要用到内联-块级 inline-block-->
<style>
    .p1{
        border: lightgray 1px solid;
        display: inline-block;
        width: 100px;
        margin: 10px;
    }
</style>

<p class="p1">盖伦</p>
<p class="p1">蒙多医生</p>
<p class="p1">奈德丽</p>
<p class="p1">蒸汽机器人</p>


<!--其他的显示方式像
list-item 显示为列表
table 显示为表格
inline-table 显示为前后无换行的表格
table-cell 显示为单元格
这些就不太常见了-->
</body>
</html>